package divideArray;

import java.util.Arrays;

public class Solution {
    public boolean divideArray(int[] nums) {
//        int[] marks = new int[Arrays.stream(nums).max().getAsInt()+1];
//        for (int i = 0; i < nums.length; i++) {
//            marks[nums[i]]++;
//        }
//        for (int num: marks) {
//            if(num%2!=0) {
//                return false;
//            }
//        }
//        return true;

        // 每个元素都是成对出现
        // 异或为0
        int xor = 0;
        int[] marks = new int[501];
        for (int num: nums) {
            xor^=num;
            marks[num]++;
        }
        if(xor != 0) {
            return false;
        }
        for (int time: marks) {
            if(time%2!=0) {
                return false;
            }
        }
        return true;
    }
}
